Aleksandr M. Bershadskiy, Doctor of engineering sciences, professor, head of the sub-department of computer aided design systems, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: firstname.lastname@example.org
Aleksandr S. Bozhday, Doctor of engineering sciences, associate professor, professor of the sub-department of computer aided design systems, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: email@example.com
Yuliya I. Evseeva, Candidate of engineering sciences, associate professor of the sub-department of computer aided design systems, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: firstname.lastname@example.org
Aleksey A. Gudkov, Candidate of engineering sciences, associate professor of the sub-department of computer aided design systems, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: email@example.com
Background. Actual problem of creating a universal theoretical apparatus for software self-adaptation exists due to the widespread use of modern applied programs and high requirements for their performance and reliability. The article proposes an integrated approach to software self-adaptation that integrates adaptation methods based on tracing the computational process and information environment monitoring. The application of this approach underlies the universal method for the synthesis of adaptive programs, applicable both for creating the simplest utilities and complex software systems. The programs created in this way is capable of changing its own structure and behavior, both based on the analysis of its own behavioral information, and by processing feedback from end users.
Materials and methods. To develop a universal method for the synthesis of adaptive software systems, we used the technologies of tracing program code, modeling variability, data mining, latent semantic and distributive statistical analysis, as well as the mathematical apparatus of graph theory and semantic networks.
Results. The main result of the work is a universal method for the synthesis of adaptive systems that implements the proposed comprehensive approach to software self-adaptation. The required complexity was achieved due to the integration of a computational process trace and information environment monitoring concepts. The method universality is ensured by its invariance to subject areas, as well as by the ability to scale in terms of the structural and behavioral complexity of synthesized adaptive software.
self-adaptation, adaptive software systems, software engineering, variability modeling, data mining, code tracing
1. Bershadskiy A.M., Bozhday A.S., Evseeva Yu.I., Gudkov A.A. Research and development of methods for dynamic code analysis to create self-adaptive software. Modelirovanie, optimizatsiya i informatsionnye tekhnologii = Modeling, optimization and information technology. 2018;6:108–120. (In Russ.)
2. Bozhday A.S., Evseeva Yu.I., Gudkov A.A. Development of self-adaptive software based on the technology of tracing the computational process. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki = University proceedings. Volga region. Engineering sciences. 2020;3:26–35. (In Russ.)
3. Enhance performance analysis with Intel Processor Trace. Performance explained easy. Available at: https://easyperf.net/blog/2019/08/23/Intel-Processor-Trace (accessed 20.10.2020).
4. Pyzhov V.O., Kulikov G.S., Panov A.VThe problem of finding frequent subgraphs and the algorithm for solving it. Aktual'nye voprosy sovremennoy nauki = Actual issues of contemporary science. 2016;1:74–83. (In Russ.)
5. Schobbens P.E., Heymans P., Trigaux J.C. Feature diagrams: a survey and formal semantics. 14th IEEE International Requirements Engineering Conference (RE'06). Washington: IEEE Computer Society. 2011:139–148.
6. Kang K. C. [et al.]. Feature-oriented domain analysis (FODA): feasibility study. Pittsburgh: Software Engineering Institute, 1990:161.
7. Stone M. Kohs Block Design Test. Test Critiques. Kansas City: Test Corporation of America,1985:102–114.
8. Eibe F., Witter I. Data mining. Practical machine learning tools and techniques. The Morgan Kaufmann series in data management systems, 2005:525.
9. Filippovich Yu.N., Prokhorov V.A. Semantika informatsionnykh tekhnologiy: opyty slovarno-tezaurusnogo opisaniya = Semantics of information technologies: experiments of dictionary-thesaurus description. Moscow: Izd-vo MGUP, 2002:368. (In Russ.)
10. Kobrin R.Yu. Definition of differential semantic and grammatical features of terms. Termin i slovo: mezhvuz. sb. = Term and word: intercollegiate collection. Nizhny Novgorod: Nizhegorod. un-t, 1997:34–41. (In Russ.)